LEX=flex
BISON=bison
CC=gcc
CFLAGS=-ggdb3 -O0 -Wall

compilador: y.tab.c y.tab.o lex.yy.o ts2006.o emite.o inserta_ts_desp.o nuestro_crear_tabla.o emite_tabla.o includar.o emite_busca_tabla.o limpiar_parentesis.o
	$(CC) $(CFLAGS) -o compilador y.tab.o lex.yy.o ts2006.o nuestro_crear_tabla.o emite_tabla.o emite.o inserta_ts_desp.o includar.o emite_busca_tabla.o limpiar_parentesis.o -lfl

y.tab.c: sint.y
	$(BISON) -ydt --report=state sint.y

lex.yy.o: lex.yy.c
	$(CC) $(CFLAGS) -c lex.yy.c

y.tab.o: y.tab.c
	$(CC) $(CFLAGS) -c y.tab.c

emite_tabla.o: emite_tabla.c
	$(CC) $(CFLAGS) -c emite_tabla.c

limpiar_parentesis.o: limpiar_parentesis.c
	$(CC) $(CFLAGS) -c limpiar_parentesis.c

emite.o: emite.c
	$(CC) $(CFLAGS) -c emite.c

nuestro_crear_tabla.o: nuestro_crear_tabla.c
	$(CC) $(CFLAGS) -c nuestro_crear_tabla.c

inserta_ts_desp.o: inserta_ts_desp.c
	$(CC) $(CFLAGS) -c inserta_ts_desp.c

includar.o: includar.c
	$(CC) $(CFLAGS) -c includar.c

ts2006.o: ts2006.c
	$(CC) $(CFLAGS) -c ts2006.c

lex.yy.c: lexico.l
	$(LEX) lexico.l

emite_busca_tabla.o: emite_busca_tabla.c
	$(CC) $(CFLAGS) -c emite_busca_tabla.c

clean:
	-rm compilador *.o
	-rm y.tab.c
